/*******************************************************************************
  * 文件：Fan.h
  * 作者：yk
  * 版本：v2.0.1
  * 日期：2024-03-18
  * 说明：风扇控制
*******************************************************************************/
#ifndef __FAN_H
#define __FAN_H

/* 头文件 *********************************************************************/
#include "Macro.h"
#include "Constant.h"
#include "Typedefine.h"
#include "Hardware_IO.h"
#include "Hardware_Timer.h"
#include "Hardware_PWM.h"
#include "OS_Timer.h"

/* 宏定义 *********************************************************************/
#define FAN_MAX_DUTY				100//(80)     //最大占空比，80对应2800rpm
#define FAN_MIN_DUTY				100//(20)     //最小占空比，20对应950rpm
#define FAN_PWM_ADJUST_INTV			(10)      //转速调整时间间隔，单位100ms - 导致开机后等待30s才会启动风机


/* 类型定义 *******************************************************************/
typedef struct
{
    // Fan控制参数
    U8    u8SetPWMDuty;                   // 设置PWM占空比
    U8    u8CurPWMDuty;                   // 当前PWM占空比

    // Timer_ts sPWMAdjustTimer;              // PWM调整定时器
}FanCtrl_ts;// 设备信息
/* 变量声明 *******************************************************************/

/* 函数声明 *******************************************************************/
void Fan_Update(U8 u8Percent);                 // 更新Fan占空比
void Fan_Stop(void);                           // 停止Fan
void Fan_Set(void);

#endif /* __FAN_H */

/***************************** 文件结束 ***************************************/
